﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SinacorWebTools.Entity;

namespace SinacorWebTools.Business
{
    public class Funcao
    {
        public Entity.Funcao SelecionaFuncaoPorDireitoAcesso(int codigoDireitoAcesso)
        {
            return new ResourceAccess.Funcao().SelecionaFuncaoPorDireitoAcesso(codigoDireitoAcesso);
        }

        public Entity.Funcao SelecionaFuncaoPorMenu(string siglaFuncao)
        {
            return new ResourceAccess.Funcao().SelecionaFuncaoPorMenu(siglaFuncao.Trim());
        }

        public Entity.Funcao SelecionaFuncaoPorCodigo(int codigo)
        {
            SortableList<Entity.Funcao> funcoes = this.ListaFuncoes(codigo, string.Empty, string.Empty);

            if (funcoes.Count > 0)
                return funcoes.First();
            else
                return new Entity.Funcao();
        }

        public SortableList<Entity.Funcao> ListaFuncoes(string pesquisa, string modulo)
        {
            return this.ListaFuncoes(0, modulo.Trim(), pesquisa.Trim());
        }

        private SortableList<Entity.Funcao> ListaFuncoes(int codigo, string modulo, string pesquisa)
        {
            return new ResourceAccess.Funcao().ListaFuncoes(codigo, pesquisa.Trim(), modulo.Trim());
        }
    }
}
